var WxParse = require('../../wxParse/wxParse.js');

//获取应用实例
var app = getApp();
var reLoginNum = 0;

var specId = '';

// 初始化数据
var init = {

  // 数据
  data: {
    is_default:0,
    // 顶部幻灯片组件
    swiper: {

      // 图片列表
      banner: [],

      // 是否显示面板指示点
      indicatorDots: true,

      // 是否自动切换
      autoplay: true,

      // 自动切换时间间隔
      interval: 5000,

      // 滑动动画时长
      duration: 1000,

      // 是否采用衔接滑动	
      circular: true,

      // loading效果
      loading: true,

      // 当前图片下标
      index: 0,
      //选中的颜色
      selectcolor:'',
      //选中的尺码
      selectsize:'',
    },

    // 默认选中颜色
    selectColorId: '',

    // 默认选中标准
    selectStandardId: '',

    selectSpecId:'',

    // 默认选中数量
    selectNum: 0,

    // 库存
    proStock: 0,

    // 是否有规格
    hasSpec: false,

    //规格id
    //specId:'',

  },

  // 页面第一次加载
  onLoad: function (options) {
    this.getData(options);
    specId=''
  },

  // // 获取评论数据
  // getEvalData: function (options) {

  //   var that = this;
  //   var goodsId = options.goodsId

  //   // 请求
  //   wx.request({

  //     // 请求地址
  //     url: 'https://zazhi.gzgaodu.com/api/index.php?app=goods',

  //     // 请求参数
  //     data: {
  //       goods_id: goodsId,
  //     },
  //     success: function (res) {
  //       console.log(res.data);
  //       var data = res.data;
  //       console.log(data.done);
  //       if (data.done) {
  //         that.setData({

  //           // 评价数据
  //           evalItems: data.retval.goods_comments,
  //         })

  //         console.log(that.data.evalItems);
  //       }
  //     }
  //   });
  // },

  // 获取商品详情
  getData: function (options) {
    console.log(options);
    var that = this;
    var goodsId = options.goodsId || '1706116962'

    console.log(goodsId);

    // 请求前
    that.setData({
      options: options,

      // 开启loading
      loading: true
    });

    // 请求
    wx.request({

      // 请求地址
      url: app.api,

      // 请求参数
      data: {
        app:'goods',
        id: goodsId
      },

      // 请求成功
      success: function (res) {
        var data = res.data;
        console.log(data);
        if (data.done) { // 成功
          console.log(data.retval.images);
          that.setData({

            // 关闭loading效果
            loading: false,

            // banner图片信息
            'swiper.banner': data.retval.images,

            // 原始数据
            retval: data.retval,

            // 产品id
            goodsId: data.retval.goods_id,

            // 商品名称
            proName: data.retval.goods_name,

            // 商品价格
            sellPrice: data.retval.price,

            // 市场价格
            oriPrice: data.retval.market_price,

            // 产品规格
            proSpec: data.retval.specs ? data.retval.specs : '',

            //颜色
            proSpec_1: data.retval.spec_1 ? data.retval.spec_1 : '',

            //尺寸
            proSpec_2: data.retval.spec_2 ? data.retval.spec_2 : '',

            // 库存 (有sku显示sku，没有显示总库存)
            proStock: data.retval.specs ? data.retval.specs[0].stock : data.retval.stock,

            // 是否有规格
            hasSpec: data.retval.specs ? true : false,

            // 默认颜色id
            selectColorId: data.retval.specs ? data.retval.specs[0].spec_1 : '',

            // 默认标准id
            selectSizeId: data.retval.specs ? data.retval.specs[0].spec_2 : '',

            // 默认规格
            selectSpecId: data.retval.default_spec,

            // 商品id
            goodsId: goodsId,

            // 有库存时默认选中一个商品
            selectNum: data.retval.stock > 0 ? 1 : 0

          });
          console.log(that.data.selectSpecId+"默认");

        
          // 商品介绍
          console.log(data.retval.description);
          WxParse.wxParse('article', 'html', data.retval.description, that);

        } else { // 失败
          that.setData({
            errorTips: data.msg || '请求错误，act：goods'
          })
        }

      },

      // 请求失败
      fail: function () {
        that.setData({
          errorTips: '接口请求失败，act：goods'
        })
      },

      
     

    });
    
    //选中默认规格
    //setDefault();
  },


  // 选择颜色
  selectColor: function (event) {
    var that = this;
    console.log(event);
    var data = this.data.retval;
    var colorId = event.target.dataset.id;
    var sizeId = this.data.selectSizeId;
    console.log(sizeId);
    this.setData({
      selectColorId: colorId,
      sellPrice: (function () {
        var price = data.price;
        for (var i = 0; i < data.specs.length; i++) {
          if (data.specs[i].spec_1 == colorId && data.specs[i].spec_2 == sizeId) {
            if (that.data.is_default == 1) {
              price = (data.specs[i].price * parseFloat(that.data.retval.insurance_rate)).toFixed(2);
              specId = data.specs[i].spec_id;
              console.log(specId + "默认s1");
              break;
            } else {
              price = data.specs[i].price;
              specId = data.specs[i].spec_id;
              console.log(specId + "默认s2");
              break;
            }
          }
        }
        return price;
      })()
    });
  },

  // 选择标准
  selectStandard: function (event) {
    var that = this;
    console.log(event);
    var data = this.data.retval;
    var sizeId = event.target.dataset.id;
    var colorId = this.data.selectColorId;
    var spec_id = '';
    console.log(colorId);
    this.setData({
      selectSizeId: sizeId,
      sellPrice: (function () {
        var price = data.price;
        for (var i = 0; i < data.specs.length; i++) {
          if (data.specs[i].spec_1 == colorId && data.specs[i].spec_2 == sizeId) {
            if (that.data.is_default == 1) {
              price = (data.specs[i].price * parseFloat(that.data.retval.insurance_rate)).toFixed(2);
              specId = data.specs[i].spec_id;
              console.log(specId + "默认v1");
              break;
            } else {
              price = data.specs[i].price;
            specId = data.specs[i].spec_id;
            console.log(specId + "默认v1");
            break;
            }
          }
        }
        return price;
      })()
    });
  },

  // 减去数量
  subPro: function (event) {
    console.log(event);
    var that = this;
    that.setData({
      selectNum: that.data.selectNum == 0 ? 0 : --that.data.selectNum
    });
  },

  // 增加数量
  addPro: function (event) {
    var that = this;
    that.setData({
      selectNum: that.data.selectNum >= that.data.proStock ? that.data.proStock : ++that.data.selectNum
    });
  },

  // 重新加入购物车
  reAddToCart: function (fn) {
    wx.showModal({
      title: '提示',
      content: '加入购物车失败，是否重新加入？',
      success: function (res) {
        if (res.confirm) {
          typeof fn == 'function' && fn();
        }
      }
    })
  },

  // 加入购物车
  addToCart: function () {
    var that = this;

    // 登录授权
    app.getLoginSession(function (session) {
      add(that.data.options, session);
    })

    // 添加方法
    function add(options, session) {

      if (that.data.selectNum <= 0) {
        wx.showModal({
          title: '提示',
          content: '请选择数量',
          showCancel: false
        });
        return
      }

      // 请求前
      wx.showLoading({
        title: '加入购物车中...',
      });


      // 请求
      wx.request({

        // 请求地址
        url: app.api,

        // 请求参数
        data: {
          app: 'cart',
          act: 'add',
          id: that.data.goodsId,
          spec_id: specId || that.data.selectSpecId,
          quantity: that.data.selectNum,
          t_session: session,
          use_insurance:that.data.is_default
        },

        // 请求成功
        success: function (res) {
          var data = res.data;
          console.log(data);
          if (data.done) {  // 加入成功
            wx.showModal({
              title: '提示',
              content: '加入成功！是否前往购物车？',
              success: function (res) {
                if (res.confirm) {
                  wx.navigateTo({
                    url: '/pages/shopCart/shopCart'
                  })
                }
              }
            })
          } else { // 加入失败

            // 检查是否登录失败
            if (data.reLogin && (reLoginNum <= app.reLoginNum)) {
              app.login(function (session) {
                add(that.data.options, session);
                reLoginNum++;
              })
            } else {
              that.reAddToCart(function () {
                that.addToCart();
              })
            }
          }
        },
        fail: function () {
          that.reAddToCart(function () {
            that.addToCart();
          });
        },
        complete: function () {
          wx.hideLoading();
        }
      });
    }



  },

  // 立即购买
  buyNow: function () {
    var that = this;

    if (that.data.selectNum <= 0) {
      wx.showModal({
        title: '提示',
        content: '请选择数量',
        showCancel: false
      });
      return
    }
    specId = specId || that.data.selectSpecId
    wx.navigateTo({
      url: '/pages/confirmOrder/confirmOrder?goodsId=' + that.data.goodsId + '&spec_id=' + specId + '&quantity=' + that.data.selectNum + '&&use_insurance=' + that.data.is_default
    })
  },

  // 联系客服
  phoneCall: function () {
    wx.makePhoneCall({
      phoneNumber: '02087398787'
    })
  },

  // 跳转到购物车
  goToCart: function () {
    wx.switchTab({
      url: '/pages/shopCart/shopCart',
    })
  },
  //购买保险
  insurance:function(){
    var that = this;
    if (that.data.is_default==1){
      that.setData({
        is_default:0,//不买保险
        sellPrice: (parseFloat(that.data.sellPrice) / parseFloat(that.data.retval.insurance_rate)).toFixed(2)
      })
    }else{
      console.log(that.data.sellPrice);
      that.setData({
        is_default: 1,//买保险
        sellPrice: (parseFloat(that.data.sellPrice) * parseFloat(that.data.retval.insurance_rate)).toFixed(2)
      })
    }
   }
  //, guige: function (list) {
  //   if(list&&Array.isArray(list)){
  //     list.forEach((item)=>{
  //       switch (item.spec_1)
  //     })
  //   }

  // }, deallist: function (list) {
  //   if (list && Array.isArray(list)) {
  //     list.forEach((item) => {
  //       switch (parseInt(item.page_type)) {
  //         case 1:
  //           item.page_style = 'mgzvideo'
  //           break
  //         case 2:
  //           item.page_style = 'mgzproduct'
  //           break
  //         case 3:
  //           item.page_style = 'mgzmusic'
  //           break
  //       }
  //     })
  //     return list
  //   }
  // },


};


// 注册页面
Page(init);
